package com.netease.nim.uikit.initializer

import android.content.Context
import androidx.startup.Initializer
import com.netease.nim.uikit.api.NimUIKit
import com.netease.nimlib.sdk.NIMClient
import com.netease.nimlib.sdk.SDKOptions
import com.netease.nimlib.sdk.auth.LoginInfo
import com.netease.nimlib.sdk.util.NIMUtil
import com.orhanobut.logger.AndroidLogAdapter
import com.orhanobut.logger.BuildConfig
import com.orhanobut.logger.Logger

/**
 * @author WEN
 * @Description:
 * @date 2020/11/30 3:02
 */
class NIMInitializer : Initializer<Unit> {

    override fun create(context: Context) {
        NIMClient.init(context, loginInfo(), options())
        if (NIMUtil.isMainProcess(context)) {
            NimUIKit.init(context)
        }
    }

    override fun dependencies(): List<Class<out Initializer<*>>> = emptyList()

    // 如果提供，将同时进行自动登录。如果当前还没有登录用户，请传入null。详见自动登录章节。
    private fun loginInfo(): LoginInfo? {
        return null
    }

    // 设置初始化配置参数，如果返回值为 null，则全部使用默认参数。
    private fun options(): SDKOptions? {
//        SDKOptions options = new SDKOptions();
        // 配置是否需要预下载附件缩略图，默认为 true
//        options.preloadAttach = true;
        return null
    }
}

